/* 怪兽 */
#ifndef __MONSTER_H__
#define __MONSTER_H__

#include "VirObj.h"

// 第一层怪兽
// 怪兽
class Monster : public VirObj
{
public:
    Monster(const Point &p);

    // 获取怪兽信息
    std::string GetInfo() 
    {
        return GetSymbol() + " " + GetName()+ " "
                + std::to_string(GetLocation().Getx()) + " " + std::to_string(GetLocation().Gety())+ " "
                + std::to_string(GetHP()) + " " + std::to_string(GetAttack())+ " "
                + std::to_string(GetDefend()) + " " + std::to_string(GetExp())+ " "
                + std::to_string(GetGold()) + " " + std::to_string(GetDiamond())+ " "
                + std::to_string(GetPower()) + " " + std::to_string(GetDodge());  
    }
};

// 骷髅兵
class Bone : public Monster
{
public:
    Bone(const Point &p);
};

// 霸王龙
class Dinosaur : public Monster
{
public:
    Dinosaur(const Point &p);
};

// 食人魔
class Orge : public Monster
{
public:
    Orge(const Point &p);
};

// 第二层怪兽
// 小马喽
class Monkey : public Monster
{
public:
    Monkey(const Point &p);
};

// 蜥蜴怪
class Lizard : public Monster
{
public:
    Lizard(const Point &p);
};

// 狼王
class Wolf : public Monster
{
public:
    Wolf(const Point &p);
};


// 第三层怪兽
// 人鱼怪
class Fish : public Monster
{
public:
    Fish(const Point &p);
};

// 僵尸
class Zombie : public Monster
{
public:
    Zombie(const Point &p);
};

// 外星人
class ET : public Monster
{
public:
    ET(const Point &p);
};

#endif